package Text1;

import java.util.*;

public class Main {

    public static void main(String[] args) {
//        假定有一个无限长的数轴，数轴上每个坐标上的数都是 0。
//        现在，我们首先进行 n 次操作，每次操作将某一位置 x 上的数加 c。
//        接下来，进行 m 次询问，每个询问包含两个整数 l 和 r，你需要求出在区间 [l,r]
//        之间的所有数的和。
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();

        //set记录要被操作的位置（x），主要是去重
        Set<Integer> set = new HashSet<>();

        //记录每次操作将某一位置 x 上的数加 c
        ArrayList<Pair> arrayList1 = new ArrayList<>();
        //记录每个询问包含整数 l 和 r(在区间 [l,r])
        ArrayList<Pair> arrayList2 = new ArrayList<>();

        //位置 x 上的数加 c
        for (int i = 0; i < n; i++) {
            int x = scanner.nextInt();
            int c = scanner.nextInt();
            arrayList1.add(new Pair(x, c));
            set.add(x);
        }

        //询问包含两个整数 l 和 r
        for (int i = 0; i < m; i++) {
            int l = scanner.nextInt();
            int r = scanner.nextInt();
            arrayList2.add(new Pair(l, r));
            set.add(l);
            set.add(r);
        }
        //set->tmp数组(用set转数组，想要无重复)
        Integer[] tmp = new Integer[set.size()];
        tmp = set.toArray(tmp);
        //进行排序
        Arrays.sort(tmp);
        //此时tmp无重复也有序

        int[] arr = new int[set.size() + 1];//从一开始进行记录
        int[] sum = new int[set.size() + 1];//用来存前缀和，从一开始进行记录arr数组；

        //存加入数据到arr
        for (Pair pair : arrayList1) {
            int index = find(tmp, pair.getFirst());
            arr[index] += pair.getSecond();
        }
        //存前缀和
        for (int i = 1; i <= sum.length - 1; i++) {
            sum[i] = sum[i - 1] + arr[i];
        }
        //求前缀和
        for (Pair pair : arrayList2) {
            int left = find(tmp, pair.getFirst());
            int right = find(tmp, pair.getSecond());
            System.out.println(sum[right] - sum[left - 1]);
        }
    }


    //二分求离散化的新位置
    public static int find(Integer[] tmp, int x) {
        int l=0,r=tmp.length-1;
        while(l<r){
            int mid=r+l>>1;
            if(tmp[mid]>=x){
                r=mid;
            }else{
                l=mid+1;
            }
        }
        return l+1;
    }

}


class Pair {

    private Integer first;
    private Integer second;


    public Pair(Integer first, Integer second) {
        this.first = first;
        this.second = second;
    }

    public Integer getFirst() {
        return first;
    }

    public Integer getSecond() {
        return second;
    }
}
